package homework

import org.apache.spark.{SparkConf, SparkContext}

object Demo3Work {

  def main(args: Array[String]): Unit = {
    /**
     *
     * 3、统计每科都及格的学生
     *
     *  单科成绩大于 60为及格
     */
    //创建连接
    val conf = new SparkConf()
    conf.setAppName("Demo3Work")
//    conf.setMaster("local")
    val sc = new SparkContext(conf)

    sc.textFile("/shujia/student/score.txt") //读取文件
      .map(line => line.split(",")) //按照","切分数据
      .filter(str => str.length == 3)//过滤脏数据
      .map {
        case Array(sid: String, _: String, sco: String) => //取出 学号 分数
          (sid, sco.toDouble)
      }
      .filter(kv=>kv._2>60) //过滤出所有单科成绩大于60的数据
      .groupBy(kv=>kv._1) //按照学号进行分组
      .filter(kv=>kv._2.size==6) //过滤出科目数等于6的所有学生
      .map{
        case (sid:String,scoTer:Iterable[(String,Double)])=> //调整输出格式
          (sid,scoTer.map{
          case (_:String,sco:Double)=>
            sco
        })
      }
      .saveAsTextFile("/shujia/scorejige")
  }
}
